TD 11 : Normalisation FN3 et FNBC
Décomposition SPD, SPI, FN3 et FNBC
L3 MIASHS |
| Année 2025 |
Exercice 1
L’étude d’un SI a conduit à ce diagramme des DF
Sur ce diagramme, on lit par exemple les DF:
- \(\verb!#fournisseur! \to \verb!#nom_f!\)
- \(\verb!#fournisseur!, \verb!#produit!, date \to \verb!#quantité!\)
L’équipe de conception vous a fourni ce modèle conceptuel
La traduction relationnelle donne ce schéma relationnel :
Déterminer si ce schéma relationnel entraine des pertes de DF ?
Pour chaque relation de ce schéma, déterminer les clés et vérifier si elle est en FNBC, sinon donner la forme normale optimale qu’elle vérifie.
Pour les tables qui ne sont pas FNBC, illustrer les redondances par des exemples de tuples.
En reprenant la conception du schéma, proposer un modèle E/A qui représente correctement les DF et le traduire en un modèle relationnel FNBC.
Exercice 2
On reprend un schéma \(\mathcal{A}\) déjà étudié dans le TD précédent.
\(\mathcal{A}\)={Occupant, Adresse, Noapt, Nbpersonnes, Nbpièces, Propriétaire}.
Un tuple (o, a, n, np, nr, p) a la signification suivante : la personne o habite à l’adresse a l’appartement de numéro n avec np personnes ayant nr pièces dont le propriétaire est p.
\(\mathcal{A}\) vérifie l’ensemble \(\Sigma\) des dépendances fonctionnelles suivantes
Occupant → Adresse
Occupant → Noapt
Occupant → Nbpersonnes
Adresse → Propriétaire
Adresse, Noapt → Occupant
Adresse, Noapt → Nbpièces
On considère les décompositions suivantes:
- Décomposition 1 :
- \(\mathcal{A_1}\) = {Occupant, Adresse, Nbpersonnes, Propriétaire},
- \(\mathcal{A_2}\) = {Adresse, Noapt, Occupant, Nbpièces}.
- Décomposition 2 :
- \(\mathcal{A_1}\) = {Occupant, Nbpersonnes},
- \(\mathcal{A_2}\) = {Adresse, Noapt, Occupant, Nbpièces},
- \(\mathcal{A_3}\) = {Adresse, Propriétaire}.
Montrer que \(\Sigma\) est irredondante.
Montrer que ces décompositions sont sans pertes de DF.
En utilisant l’algorithme de poursuite, déterminer si ces décompositions sont sans pertes d’information.
Déterminer la FN optimale que vérifie chacune des décompositions.
Appliquer l’algorithme de décomposition FN3 vu en cours pour obtenir une décomposition de \(\mathcal{A}\) sans pertes de DF et sans pertes d’informations.
La décomposition obtenue est-elle FNBC ?
Comparer avec les décompositions précédentes.
Les normalisations FN2, FN3 et FNBC ne réduisent que les redondances internes à chaque table liées à l’existence de DF entre les attributs.
Appliquer l’algorithme de décomposition FNBC vu en cours pour obtenir une décomposition FNBC de \(\mathcal{A}\) sans pertes d’information. La décomposition préserve-t-elle toutes les DF ?
Comparer avec les décompositions précédentes.
Exercice 3
Soit le schéma \(\mathcal{A}\)={A,B,C,D,E,F,G,H} et l’ensemble \(\Sigma\) de DF \[ BE → AC \quad B → H \quad F → CD \quad D → G \]
Appliquer l’algorithme de décomposition FNBC vu en cours pour obtenir une décomposition de \(\mathcal{A}\) qui est sans pertes d’information. Déterminer quelles DF sont préservées.
Peut-on, en ajoutant un sous-schéma à la décomposition, obtenir une décomposition FNBC sans pertes d’information et sans pertes de DF ?
Appliquer l’algorithme de décomposition FN3 vu en cours pour obtenir une décomposition de \(\mathcal{A}\) qui est sans pertes d’information et sans pertes de dépendance. Comparer avec la décomposition précédente.